package com.fary.beans;

import java.beans.PropertyDescriptor;

public interface BeanWrapper extends ConfigurablePropertyAccessor {

	/**
	 * 指定数组和集合自动增长的限制。在普通的BeanWrapper上，默认值是无限的。
	 */
	void setAutoGrowCollectionLimit(int autoGrowCollectionLimit);

	/**
	 * 返回数组和集合自动增长的限制。
	 */
	int getAutoGrowCollectionLimit();

	/**
	 * 返回此对象包装的bean实例
	 */
	Object getWrappedInstance();

	/**
	 * 返回包装的bean实例的类型
	 */
	Class<?> getWrappedClass();

	/**
	 * 返回包装类的属性描述(由标准JavaBean自省确定)
	 */
	PropertyDescriptor[] getPropertyDescriptors();

	/**
	 * 根据属性名称获取对应的 property descriptor
	 */
	PropertyDescriptor getPropertyDescriptor(String propertyName);

}